package com.autumn.platform.core.context.reqeust;

import java.io.Serializable;

public interface IRequest extends Serializable {

    /**
     * 返回唯一请求号
     * 
     * @return 唯一请求号，一般为当前环境中跟踪号
     */
    String getRequestId();

    /**
     * 返回当前会话ID
     * 
     * @return
     */
    String getSessionId();

    /**
     * 修改SessionId
     * 
     * @param sessionId
     */
    void changeSessionId(String sessionId);

    /**
     * 获取请求目标
     * 
     * @return 请求目标
     */
    Object getTarget();

    /**
     * 获取协议
     * 
     * @return 请求协议
     */
    String getProtocol();

    /**
     * 获取服务器IP
     * 
     * @return 服务器IP
     */
    String getServerIp();

    /**
     * 获取服务器操作系统
     * 
     * @return 服务器操作系统
     */
    String getServerOs();

    /**
     * 获取请求时间
     * 
     * @return 请求时间
     */
    long getTime();
}
